В этом вводном занятии мы выходим за рамки хаотичного культуры «сохранить как» и определяем системы контроля версий (VCS) как специализированные инструменты для управления изменениями. Мы рассматриваем переход от примитивного, ручного дублирования файлов — проиллюстрированного объектами вроде my-term-paper-2.doc—к структурированным системам, которые рассматривают историю как ряд логических снимков.
1. Ловушка суффиксов
До появления формальных систем контроля версий версионирование было ручным, ошибочным процессом, включающим правила переименования файлов (например, добавление дат или тегов «финал»). Это неизбежно приводит к разрушению файлов и потере данных, потому что пользователь полностью отвечает за запоминание различий между файлами.
2. Структурные снимки
Ранние попытки организации включали метод «стек папок»—ручное перемещение проектных файлов в вертикальную иерархию с метками v1.0, v2.0 и v2.1. Хотя это обеспечивает хронологическую запись, у него отсутствует атомарная целостность и проверяемость.